package com.quanyan.place.entity;

import com.quanyan.common.Plugin.Page;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class TbBizPlaceMemberCardExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    protected Page page;

    public TbBizPlaceMemberCardExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setPage(Page page) {
        this.page=page;
    }

    public Page getPage() {
        return page;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        protected void addCriterionForJDBCTime(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Time(value.getTime()), property);
        }

        protected void addCriterionForJDBCTime(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Time> timeList = new ArrayList<java.sql.Time>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                timeList.add(new java.sql.Time(iter.next().getTime()));
            }
            addCriterion(condition, timeList, property);
        }

        protected void addCriterionForJDBCTime(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Time(value1.getTime()), new java.sql.Time(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andInnerCardNoIsNull() {
            addCriterion("inner_card_no is null");
            return (Criteria) this;
        }

        public Criteria andInnerCardNoIsNotNull() {
            addCriterion("inner_card_no is not null");
            return (Criteria) this;
        }

        public Criteria andInnerCardNoEqualTo(String value) {
            addCriterion("inner_card_no =", value, "innerCardNo");
            return (Criteria) this;
        }

        public Criteria andInnerCardNoNotEqualTo(String value) {
            addCriterion("inner_card_no <>", value, "innerCardNo");
            return (Criteria) this;
        }

        public Criteria andInnerCardNoGreaterThan(String value) {
            addCriterion("inner_card_no >", value, "innerCardNo");
            return (Criteria) this;
        }

        public Criteria andInnerCardNoGreaterThanOrEqualTo(String value) {
            addCriterion("inner_card_no >=", value, "innerCardNo");
            return (Criteria) this;
        }

        public Criteria andInnerCardNoLessThan(String value) {
            addCriterion("inner_card_no <", value, "innerCardNo");
            return (Criteria) this;
        }

        public Criteria andInnerCardNoLessThanOrEqualTo(String value) {
            addCriterion("inner_card_no <=", value, "innerCardNo");
            return (Criteria) this;
        }

        public Criteria andInnerCardNoLike(String value) {
            addCriterion("inner_card_no like", value, "innerCardNo");
            return (Criteria) this;
        }

        public Criteria andInnerCardNoNotLike(String value) {
            addCriterion("inner_card_no not like", value, "innerCardNo");
            return (Criteria) this;
        }

        public Criteria andInnerCardNoIn(List<String> values) {
            addCriterion("inner_card_no in", values, "innerCardNo");
            return (Criteria) this;
        }

        public Criteria andInnerCardNoNotIn(List<String> values) {
            addCriterion("inner_card_no not in", values, "innerCardNo");
            return (Criteria) this;
        }

        public Criteria andInnerCardNoBetween(String value1, String value2) {
            addCriterion("inner_card_no between", value1, value2, "innerCardNo");
            return (Criteria) this;
        }

        public Criteria andInnerCardNoNotBetween(String value1, String value2) {
            addCriterion("inner_card_no not between", value1, value2, "innerCardNo");
            return (Criteria) this;
        }

        public Criteria andMemberUidIsNull() {
            addCriterion("member_uid is null");
            return (Criteria) this;
        }

        public Criteria andMemberUidIsNotNull() {
            addCriterion("member_uid is not null");
            return (Criteria) this;
        }

        public Criteria andMemberUidEqualTo(Integer value) {
            addCriterion("member_uid =", value, "memberUid");
            return (Criteria) this;
        }

        public Criteria andMemberUidNotEqualTo(Integer value) {
            addCriterion("member_uid <>", value, "memberUid");
            return (Criteria) this;
        }

        public Criteria andMemberUidGreaterThan(Integer value) {
            addCriterion("member_uid >", value, "memberUid");
            return (Criteria) this;
        }

        public Criteria andMemberUidGreaterThanOrEqualTo(Integer value) {
            addCriterion("member_uid >=", value, "memberUid");
            return (Criteria) this;
        }

        public Criteria andMemberUidLessThan(Integer value) {
            addCriterion("member_uid <", value, "memberUid");
            return (Criteria) this;
        }

        public Criteria andMemberUidLessThanOrEqualTo(Integer value) {
            addCriterion("member_uid <=", value, "memberUid");
            return (Criteria) this;
        }

        public Criteria andMemberUidIn(List<Integer> values) {
            addCriterion("member_uid in", values, "memberUid");
            return (Criteria) this;
        }

        public Criteria andMemberUidNotIn(List<Integer> values) {
            addCriterion("member_uid not in", values, "memberUid");
            return (Criteria) this;
        }

        public Criteria andMemberUidBetween(Integer value1, Integer value2) {
            addCriterion("member_uid between", value1, value2, "memberUid");
            return (Criteria) this;
        }

        public Criteria andMemberUidNotBetween(Integer value1, Integer value2) {
            addCriterion("member_uid not between", value1, value2, "memberUid");
            return (Criteria) this;
        }

        public Criteria andPlaceIdIsNull() {
            addCriterion("place_id is null");
            return (Criteria) this;
        }

        public Criteria andPlaceIdIsNotNull() {
            addCriterion("place_id is not null");
            return (Criteria) this;
        }

        public Criteria andPlaceIdEqualTo(Integer value) {
            addCriterion("place_id =", value, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdNotEqualTo(Integer value) {
            addCriterion("place_id <>", value, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdGreaterThan(Integer value) {
            addCriterion("place_id >", value, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("place_id >=", value, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdLessThan(Integer value) {
            addCriterion("place_id <", value, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdLessThanOrEqualTo(Integer value) {
            addCriterion("place_id <=", value, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdIn(List<Integer> values) {
            addCriterion("place_id in", values, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdNotIn(List<Integer> values) {
            addCriterion("place_id not in", values, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdBetween(Integer value1, Integer value2) {
            addCriterion("place_id between", value1, value2, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdNotBetween(Integer value1, Integer value2) {
            addCriterion("place_id not between", value1, value2, "placeId");
            return (Criteria) this;
        }

        public Criteria andSourceTypeIsNull() {
            addCriterion("source_type is null");
            return (Criteria) this;
        }

        public Criteria andSourceTypeIsNotNull() {
            addCriterion("source_type is not null");
            return (Criteria) this;
        }

        public Criteria andSourceTypeEqualTo(Byte value) {
            addCriterion("source_type =", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeNotEqualTo(Byte value) {
            addCriterion("source_type <>", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeGreaterThan(Byte value) {
            addCriterion("source_type >", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("source_type >=", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeLessThan(Byte value) {
            addCriterion("source_type <", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeLessThanOrEqualTo(Byte value) {
            addCriterion("source_type <=", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeIn(List<Byte> values) {
            addCriterion("source_type in", values, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeNotIn(List<Byte> values) {
            addCriterion("source_type not in", values, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeBetween(Byte value1, Byte value2) {
            addCriterion("source_type between", value1, value2, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeNotBetween(Byte value1, Byte value2) {
            addCriterion("source_type not between", value1, value2, "sourceType");
            return (Criteria) this;
        }

        public Criteria andCardTypeIsNull() {
            addCriterion("card_type is null");
            return (Criteria) this;
        }

        public Criteria andCardTypeIsNotNull() {
            addCriterion("card_type is not null");
            return (Criteria) this;
        }

        public Criteria andCardTypeEqualTo(Byte value) {
            addCriterion("card_type =", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeNotEqualTo(Byte value) {
            addCriterion("card_type <>", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeGreaterThan(Byte value) {
            addCriterion("card_type >", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("card_type >=", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeLessThan(Byte value) {
            addCriterion("card_type <", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeLessThanOrEqualTo(Byte value) {
            addCriterion("card_type <=", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeIn(List<Byte> values) {
            addCriterion("card_type in", values, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeNotIn(List<Byte> values) {
            addCriterion("card_type not in", values, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeBetween(Byte value1, Byte value2) {
            addCriterion("card_type between", value1, value2, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeNotBetween(Byte value1, Byte value2) {
            addCriterion("card_type not between", value1, value2, "cardType");
            return (Criteria) this;
        }

        public Criteria andIsOldMemberIsNull() {
            addCriterion("is_old_member is null");
            return (Criteria) this;
        }

        public Criteria andIsOldMemberIsNotNull() {
            addCriterion("is_old_member is not null");
            return (Criteria) this;
        }

        public Criteria andIsOldMemberEqualTo(Byte value) {
            addCriterion("is_old_member =", value, "isOldMember");
            return (Criteria) this;
        }

        public Criteria andIsOldMemberNotEqualTo(Byte value) {
            addCriterion("is_old_member <>", value, "isOldMember");
            return (Criteria) this;
        }

        public Criteria andIsOldMemberGreaterThan(Byte value) {
            addCriterion("is_old_member >", value, "isOldMember");
            return (Criteria) this;
        }

        public Criteria andIsOldMemberGreaterThanOrEqualTo(Byte value) {
            addCriterion("is_old_member >=", value, "isOldMember");
            return (Criteria) this;
        }

        public Criteria andIsOldMemberLessThan(Byte value) {
            addCriterion("is_old_member <", value, "isOldMember");
            return (Criteria) this;
        }

        public Criteria andIsOldMemberLessThanOrEqualTo(Byte value) {
            addCriterion("is_old_member <=", value, "isOldMember");
            return (Criteria) this;
        }

        public Criteria andIsOldMemberIn(List<Byte> values) {
            addCriterion("is_old_member in", values, "isOldMember");
            return (Criteria) this;
        }

        public Criteria andIsOldMemberNotIn(List<Byte> values) {
            addCriterion("is_old_member not in", values, "isOldMember");
            return (Criteria) this;
        }

        public Criteria andIsOldMemberBetween(Byte value1, Byte value2) {
            addCriterion("is_old_member between", value1, value2, "isOldMember");
            return (Criteria) this;
        }

        public Criteria andIsOldMemberNotBetween(Byte value1, Byte value2) {
            addCriterion("is_old_member not between", value1, value2, "isOldMember");
            return (Criteria) this;
        }

        public Criteria andCardNameIsNull() {
            addCriterion("card_name is null");
            return (Criteria) this;
        }

        public Criteria andCardNameIsNotNull() {
            addCriterion("card_name is not null");
            return (Criteria) this;
        }

        public Criteria andCardNameEqualTo(String value) {
            addCriterion("card_name =", value, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameNotEqualTo(String value) {
            addCriterion("card_name <>", value, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameGreaterThan(String value) {
            addCriterion("card_name >", value, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameGreaterThanOrEqualTo(String value) {
            addCriterion("card_name >=", value, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameLessThan(String value) {
            addCriterion("card_name <", value, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameLessThanOrEqualTo(String value) {
            addCriterion("card_name <=", value, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameLike(String value) {
            addCriterion("card_name like", value, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameNotLike(String value) {
            addCriterion("card_name not like", value, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameIn(List<String> values) {
            addCriterion("card_name in", values, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameNotIn(List<String> values) {
            addCriterion("card_name not in", values, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameBetween(String value1, String value2) {
            addCriterion("card_name between", value1, value2, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameNotBetween(String value1, String value2) {
            addCriterion("card_name not between", value1, value2, "cardName");
            return (Criteria) this;
        }

        public Criteria andDisplayNameIsNull() {
            addCriterion("display_name is null");
            return (Criteria) this;
        }

        public Criteria andDisplayNameIsNotNull() {
            addCriterion("display_name is not null");
            return (Criteria) this;
        }

        public Criteria andDisplayNameEqualTo(String value) {
            addCriterion("display_name =", value, "displayName");
            return (Criteria) this;
        }

        public Criteria andDisplayNameNotEqualTo(String value) {
            addCriterion("display_name <>", value, "displayName");
            return (Criteria) this;
        }

        public Criteria andDisplayNameGreaterThan(String value) {
            addCriterion("display_name >", value, "displayName");
            return (Criteria) this;
        }

        public Criteria andDisplayNameGreaterThanOrEqualTo(String value) {
            addCriterion("display_name >=", value, "displayName");
            return (Criteria) this;
        }

        public Criteria andDisplayNameLessThan(String value) {
            addCriterion("display_name <", value, "displayName");
            return (Criteria) this;
        }

        public Criteria andDisplayNameLessThanOrEqualTo(String value) {
            addCriterion("display_name <=", value, "displayName");
            return (Criteria) this;
        }

        public Criteria andDisplayNameLike(String value) {
            addCriterion("display_name like", value, "displayName");
            return (Criteria) this;
        }

        public Criteria andDisplayNameNotLike(String value) {
            addCriterion("display_name not like", value, "displayName");
            return (Criteria) this;
        }

        public Criteria andDisplayNameIn(List<String> values) {
            addCriterion("display_name in", values, "displayName");
            return (Criteria) this;
        }

        public Criteria andDisplayNameNotIn(List<String> values) {
            addCriterion("display_name not in", values, "displayName");
            return (Criteria) this;
        }

        public Criteria andDisplayNameBetween(String value1, String value2) {
            addCriterion("display_name between", value1, value2, "displayName");
            return (Criteria) this;
        }

        public Criteria andDisplayNameNotBetween(String value1, String value2) {
            addCriterion("display_name not between", value1, value2, "displayName");
            return (Criteria) this;
        }

        public Criteria andAmountIsNull() {
            addCriterion("amount is null");
            return (Criteria) this;
        }

        public Criteria andAmountIsNotNull() {
            addCriterion("amount is not null");
            return (Criteria) this;
        }

        public Criteria andAmountEqualTo(BigDecimal value) {
            addCriterion("amount =", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotEqualTo(BigDecimal value) {
            addCriterion("amount <>", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountGreaterThan(BigDecimal value) {
            addCriterion("amount >", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("amount >=", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountLessThan(BigDecimal value) {
            addCriterion("amount <", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("amount <=", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountIn(List<BigDecimal> values) {
            addCriterion("amount in", values, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotIn(List<BigDecimal> values) {
            addCriterion("amount not in", values, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("amount between", value1, value2, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("amount not between", value1, value2, "amount");
            return (Criteria) this;
        }

        public Criteria andSurplusAmountIsNull() {
            addCriterion("surplus_amount is null");
            return (Criteria) this;
        }

        public Criteria andSurplusAmountIsNotNull() {
            addCriterion("surplus_amount is not null");
            return (Criteria) this;
        }

        public Criteria andSurplusAmountEqualTo(BigDecimal value) {
            addCriterion("surplus_amount =", value, "surplusAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusAmountNotEqualTo(BigDecimal value) {
            addCriterion("surplus_amount <>", value, "surplusAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusAmountGreaterThan(BigDecimal value) {
            addCriterion("surplus_amount >", value, "surplusAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("surplus_amount >=", value, "surplusAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusAmountLessThan(BigDecimal value) {
            addCriterion("surplus_amount <", value, "surplusAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("surplus_amount <=", value, "surplusAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusAmountIn(List<BigDecimal> values) {
            addCriterion("surplus_amount in", values, "surplusAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusAmountNotIn(List<BigDecimal> values) {
            addCriterion("surplus_amount not in", values, "surplusAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("surplus_amount between", value1, value2, "surplusAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("surplus_amount not between", value1, value2, "surplusAmount");
            return (Criteria) this;
        }

        public Criteria andGiveAmountIsNull() {
            addCriterion("give_amount is null");
            return (Criteria) this;
        }

        public Criteria andGiveAmountIsNotNull() {
            addCriterion("give_amount is not null");
            return (Criteria) this;
        }

        public Criteria andGiveAmountEqualTo(BigDecimal value) {
            addCriterion("give_amount =", value, "giveAmount");
            return (Criteria) this;
        }

        public Criteria andGiveAmountNotEqualTo(BigDecimal value) {
            addCriterion("give_amount <>", value, "giveAmount");
            return (Criteria) this;
        }

        public Criteria andGiveAmountGreaterThan(BigDecimal value) {
            addCriterion("give_amount >", value, "giveAmount");
            return (Criteria) this;
        }

        public Criteria andGiveAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("give_amount >=", value, "giveAmount");
            return (Criteria) this;
        }

        public Criteria andGiveAmountLessThan(BigDecimal value) {
            addCriterion("give_amount <", value, "giveAmount");
            return (Criteria) this;
        }

        public Criteria andGiveAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("give_amount <=", value, "giveAmount");
            return (Criteria) this;
        }

        public Criteria andGiveAmountIn(List<BigDecimal> values) {
            addCriterion("give_amount in", values, "giveAmount");
            return (Criteria) this;
        }

        public Criteria andGiveAmountNotIn(List<BigDecimal> values) {
            addCriterion("give_amount not in", values, "giveAmount");
            return (Criteria) this;
        }

        public Criteria andGiveAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("give_amount between", value1, value2, "giveAmount");
            return (Criteria) this;
        }

        public Criteria andGiveAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("give_amount not between", value1, value2, "giveAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusGiveAmountIsNull() {
            addCriterion("surplus_give_amount is null");
            return (Criteria) this;
        }

        public Criteria andSurplusGiveAmountIsNotNull() {
            addCriterion("surplus_give_amount is not null");
            return (Criteria) this;
        }

        public Criteria andSurplusGiveAmountEqualTo(BigDecimal value) {
            addCriterion("surplus_give_amount =", value, "surplusGiveAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusGiveAmountNotEqualTo(BigDecimal value) {
            addCriterion("surplus_give_amount <>", value, "surplusGiveAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusGiveAmountGreaterThan(BigDecimal value) {
            addCriterion("surplus_give_amount >", value, "surplusGiveAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusGiveAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("surplus_give_amount >=", value, "surplusGiveAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusGiveAmountLessThan(BigDecimal value) {
            addCriterion("surplus_give_amount <", value, "surplusGiveAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusGiveAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("surplus_give_amount <=", value, "surplusGiveAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusGiveAmountIn(List<BigDecimal> values) {
            addCriterion("surplus_give_amount in", values, "surplusGiveAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusGiveAmountNotIn(List<BigDecimal> values) {
            addCriterion("surplus_give_amount not in", values, "surplusGiveAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusGiveAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("surplus_give_amount between", value1, value2, "surplusGiveAmount");
            return (Criteria) this;
        }

        public Criteria andSurplusGiveAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("surplus_give_amount not between", value1, value2, "surplusGiveAmount");
            return (Criteria) this;
        }

        public Criteria andNumbersIsNull() {
            addCriterion("numbers is null");
            return (Criteria) this;
        }

        public Criteria andNumbersIsNotNull() {
            addCriterion("numbers is not null");
            return (Criteria) this;
        }

        public Criteria andNumbersEqualTo(Integer value) {
            addCriterion("numbers =", value, "numbers");
            return (Criteria) this;
        }

        public Criteria andNumbersNotEqualTo(Integer value) {
            addCriterion("numbers <>", value, "numbers");
            return (Criteria) this;
        }

        public Criteria andNumbersGreaterThan(Integer value) {
            addCriterion("numbers >", value, "numbers");
            return (Criteria) this;
        }

        public Criteria andNumbersGreaterThanOrEqualTo(Integer value) {
            addCriterion("numbers >=", value, "numbers");
            return (Criteria) this;
        }

        public Criteria andNumbersLessThan(Integer value) {
            addCriterion("numbers <", value, "numbers");
            return (Criteria) this;
        }

        public Criteria andNumbersLessThanOrEqualTo(Integer value) {
            addCriterion("numbers <=", value, "numbers");
            return (Criteria) this;
        }

        public Criteria andNumbersIn(List<Integer> values) {
            addCriterion("numbers in", values, "numbers");
            return (Criteria) this;
        }

        public Criteria andNumbersNotIn(List<Integer> values) {
            addCriterion("numbers not in", values, "numbers");
            return (Criteria) this;
        }

        public Criteria andNumbersBetween(Integer value1, Integer value2) {
            addCriterion("numbers between", value1, value2, "numbers");
            return (Criteria) this;
        }

        public Criteria andNumbersNotBetween(Integer value1, Integer value2) {
            addCriterion("numbers not between", value1, value2, "numbers");
            return (Criteria) this;
        }

        public Criteria andSurplusNumbersIsNull() {
            addCriterion("surplus_numbers is null");
            return (Criteria) this;
        }

        public Criteria andSurplusNumbersIsNotNull() {
            addCriterion("surplus_numbers is not null");
            return (Criteria) this;
        }

        public Criteria andSurplusNumbersEqualTo(Integer value) {
            addCriterion("surplus_numbers =", value, "surplusNumbers");
            return (Criteria) this;
        }

        public Criteria andSurplusNumbersNotEqualTo(Integer value) {
            addCriterion("surplus_numbers <>", value, "surplusNumbers");
            return (Criteria) this;
        }

        public Criteria andSurplusNumbersGreaterThan(Integer value) {
            addCriterion("surplus_numbers >", value, "surplusNumbers");
            return (Criteria) this;
        }

        public Criteria andSurplusNumbersGreaterThanOrEqualTo(Integer value) {
            addCriterion("surplus_numbers >=", value, "surplusNumbers");
            return (Criteria) this;
        }

        public Criteria andSurplusNumbersLessThan(Integer value) {
            addCriterion("surplus_numbers <", value, "surplusNumbers");
            return (Criteria) this;
        }

        public Criteria andSurplusNumbersLessThanOrEqualTo(Integer value) {
            addCriterion("surplus_numbers <=", value, "surplusNumbers");
            return (Criteria) this;
        }

        public Criteria andSurplusNumbersIn(List<Integer> values) {
            addCriterion("surplus_numbers in", values, "surplusNumbers");
            return (Criteria) this;
        }

        public Criteria andSurplusNumbersNotIn(List<Integer> values) {
            addCriterion("surplus_numbers not in", values, "surplusNumbers");
            return (Criteria) this;
        }

        public Criteria andSurplusNumbersBetween(Integer value1, Integer value2) {
            addCriterion("surplus_numbers between", value1, value2, "surplusNumbers");
            return (Criteria) this;
        }

        public Criteria andSurplusNumbersNotBetween(Integer value1, Integer value2) {
            addCriterion("surplus_numbers not between", value1, value2, "surplusNumbers");
            return (Criteria) this;
        }

        public Criteria andDiscountIsNull() {
            addCriterion("discount is null");
            return (Criteria) this;
        }

        public Criteria andDiscountIsNotNull() {
            addCriterion("discount is not null");
            return (Criteria) this;
        }

        public Criteria andDiscountEqualTo(Double value) {
            addCriterion("discount =", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountNotEqualTo(Double value) {
            addCriterion("discount <>", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountGreaterThan(Double value) {
            addCriterion("discount >", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountGreaterThanOrEqualTo(Double value) {
            addCriterion("discount >=", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountLessThan(Double value) {
            addCriterion("discount <", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountLessThanOrEqualTo(Double value) {
            addCriterion("discount <=", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountIn(List<Double> values) {
            addCriterion("discount in", values, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountNotIn(List<Double> values) {
            addCriterion("discount not in", values, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountBetween(Double value1, Double value2) {
            addCriterion("discount between", value1, value2, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountNotBetween(Double value1, Double value2) {
            addCriterion("discount not between", value1, value2, "discount");
            return (Criteria) this;
        }

        public Criteria andCategoryIdsIsNull() {
            addCriterion("category_ids is null");
            return (Criteria) this;
        }

        public Criteria andCategoryIdsIsNotNull() {
            addCriterion("category_ids is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryIdsEqualTo(String value) {
            addCriterion("category_ids =", value, "categoryIds");
            return (Criteria) this;
        }

        public Criteria andCategoryIdsNotEqualTo(String value) {
            addCriterion("category_ids <>", value, "categoryIds");
            return (Criteria) this;
        }

        public Criteria andCategoryIdsGreaterThan(String value) {
            addCriterion("category_ids >", value, "categoryIds");
            return (Criteria) this;
        }

        public Criteria andCategoryIdsGreaterThanOrEqualTo(String value) {
            addCriterion("category_ids >=", value, "categoryIds");
            return (Criteria) this;
        }

        public Criteria andCategoryIdsLessThan(String value) {
            addCriterion("category_ids <", value, "categoryIds");
            return (Criteria) this;
        }

        public Criteria andCategoryIdsLessThanOrEqualTo(String value) {
            addCriterion("category_ids <=", value, "categoryIds");
            return (Criteria) this;
        }

        public Criteria andCategoryIdsLike(String value) {
            addCriterion("category_ids like", value, "categoryIds");
            return (Criteria) this;
        }

        public Criteria andCategoryIdsNotLike(String value) {
            addCriterion("category_ids not like", value, "categoryIds");
            return (Criteria) this;
        }

        public Criteria andCategoryIdsIn(List<String> values) {
            addCriterion("category_ids in", values, "categoryIds");
            return (Criteria) this;
        }

        public Criteria andCategoryIdsNotIn(List<String> values) {
            addCriterion("category_ids not in", values, "categoryIds");
            return (Criteria) this;
        }

        public Criteria andCategoryIdsBetween(String value1, String value2) {
            addCriterion("category_ids between", value1, value2, "categoryIds");
            return (Criteria) this;
        }

        public Criteria andCategoryIdsNotBetween(String value1, String value2) {
            addCriterion("category_ids not between", value1, value2, "categoryIds");
            return (Criteria) this;
        }

        public Criteria andAvailableStartTimeIsNull() {
            addCriterion("available_start_time is null");
            return (Criteria) this;
        }

        public Criteria andAvailableStartTimeIsNotNull() {
            addCriterion("available_start_time is not null");
            return (Criteria) this;
        }

        public Criteria andAvailableStartTimeEqualTo(Date value) {
            addCriterionForJDBCTime("available_start_time =", value, "availableStartTime");
            return (Criteria) this;
        }

        public Criteria andAvailableStartTimeNotEqualTo(Date value) {
            addCriterionForJDBCTime("available_start_time <>", value, "availableStartTime");
            return (Criteria) this;
        }

        public Criteria andAvailableStartTimeGreaterThan(Date value) {
            addCriterionForJDBCTime("available_start_time >", value, "availableStartTime");
            return (Criteria) this;
        }

        public Criteria andAvailableStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCTime("available_start_time >=", value, "availableStartTime");
            return (Criteria) this;
        }

        public Criteria andAvailableStartTimeLessThan(Date value) {
            addCriterionForJDBCTime("available_start_time <", value, "availableStartTime");
            return (Criteria) this;
        }

        public Criteria andAvailableStartTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCTime("available_start_time <=", value, "availableStartTime");
            return (Criteria) this;
        }

        public Criteria andAvailableStartTimeIn(List<Date> values) {
            addCriterionForJDBCTime("available_start_time in", values, "availableStartTime");
            return (Criteria) this;
        }

        public Criteria andAvailableStartTimeNotIn(List<Date> values) {
            addCriterionForJDBCTime("available_start_time not in", values, "availableStartTime");
            return (Criteria) this;
        }

        public Criteria andAvailableStartTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCTime("available_start_time between", value1, value2, "availableStartTime");
            return (Criteria) this;
        }

        public Criteria andAvailableStartTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCTime("available_start_time not between", value1, value2, "availableStartTime");
            return (Criteria) this;
        }

        public Criteria andAvailableEndTimeIsNull() {
            addCriterion("available_end_time is null");
            return (Criteria) this;
        }

        public Criteria andAvailableEndTimeIsNotNull() {
            addCriterion("available_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andAvailableEndTimeEqualTo(Date value) {
            addCriterionForJDBCTime("available_end_time =", value, "availableEndTime");
            return (Criteria) this;
        }

        public Criteria andAvailableEndTimeNotEqualTo(Date value) {
            addCriterionForJDBCTime("available_end_time <>", value, "availableEndTime");
            return (Criteria) this;
        }

        public Criteria andAvailableEndTimeGreaterThan(Date value) {
            addCriterionForJDBCTime("available_end_time >", value, "availableEndTime");
            return (Criteria) this;
        }

        public Criteria andAvailableEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCTime("available_end_time >=", value, "availableEndTime");
            return (Criteria) this;
        }

        public Criteria andAvailableEndTimeLessThan(Date value) {
            addCriterionForJDBCTime("available_end_time <", value, "availableEndTime");
            return (Criteria) this;
        }

        public Criteria andAvailableEndTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCTime("available_end_time <=", value, "availableEndTime");
            return (Criteria) this;
        }

        public Criteria andAvailableEndTimeIn(List<Date> values) {
            addCriterionForJDBCTime("available_end_time in", values, "availableEndTime");
            return (Criteria) this;
        }

        public Criteria andAvailableEndTimeNotIn(List<Date> values) {
            addCriterionForJDBCTime("available_end_time not in", values, "availableEndTime");
            return (Criteria) this;
        }

        public Criteria andAvailableEndTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCTime("available_end_time between", value1, value2, "availableEndTime");
            return (Criteria) this;
        }

        public Criteria andAvailableEndTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCTime("available_end_time not between", value1, value2, "availableEndTime");
            return (Criteria) this;
        }

        public Criteria andCreateUidIsNull() {
            addCriterion("create_uid is null");
            return (Criteria) this;
        }

        public Criteria andCreateUidIsNotNull() {
            addCriterion("create_uid is not null");
            return (Criteria) this;
        }

        public Criteria andCreateUidEqualTo(Integer value) {
            addCriterion("create_uid =", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidNotEqualTo(Integer value) {
            addCriterion("create_uid <>", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidGreaterThan(Integer value) {
            addCriterion("create_uid >", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidGreaterThanOrEqualTo(Integer value) {
            addCriterion("create_uid >=", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidLessThan(Integer value) {
            addCriterion("create_uid <", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidLessThanOrEqualTo(Integer value) {
            addCriterion("create_uid <=", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidIn(List<Integer> values) {
            addCriterion("create_uid in", values, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidNotIn(List<Integer> values) {
            addCriterion("create_uid not in", values, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidBetween(Integer value1, Integer value2) {
            addCriterion("create_uid between", value1, value2, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidNotBetween(Integer value1, Integer value2) {
            addCriterion("create_uid not between", value1, value2, "createUid");
            return (Criteria) this;
        }

        public Criteria andCardTypeIdIsNull() {
            addCriterion("card_type_id is null");
            return (Criteria) this;
        }

        public Criteria andCardTypeIdIsNotNull() {
            addCriterion("card_type_id is not null");
            return (Criteria) this;
        }

        public Criteria andCardTypeIdEqualTo(Integer value) {
            addCriterion("card_type_id =", value, "cardTypeId");
            return (Criteria) this;
        }

        public Criteria andCardTypeIdNotEqualTo(Integer value) {
            addCriterion("card_type_id <>", value, "cardTypeId");
            return (Criteria) this;
        }

        public Criteria andCardTypeIdGreaterThan(Integer value) {
            addCriterion("card_type_id >", value, "cardTypeId");
            return (Criteria) this;
        }

        public Criteria andCardTypeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("card_type_id >=", value, "cardTypeId");
            return (Criteria) this;
        }

        public Criteria andCardTypeIdLessThan(Integer value) {
            addCriterion("card_type_id <", value, "cardTypeId");
            return (Criteria) this;
        }

        public Criteria andCardTypeIdLessThanOrEqualTo(Integer value) {
            addCriterion("card_type_id <=", value, "cardTypeId");
            return (Criteria) this;
        }

        public Criteria andCardTypeIdIn(List<Integer> values) {
            addCriterion("card_type_id in", values, "cardTypeId");
            return (Criteria) this;
        }

        public Criteria andCardTypeIdNotIn(List<Integer> values) {
            addCriterion("card_type_id not in", values, "cardTypeId");
            return (Criteria) this;
        }

        public Criteria andCardTypeIdBetween(Integer value1, Integer value2) {
            addCriterion("card_type_id between", value1, value2, "cardTypeId");
            return (Criteria) this;
        }

        public Criteria andCardTypeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("card_type_id not between", value1, value2, "cardTypeId");
            return (Criteria) this;
        }

        public Criteria andMemoIsNull() {
            addCriterion("memo is null");
            return (Criteria) this;
        }

        public Criteria andMemoIsNotNull() {
            addCriterion("memo is not null");
            return (Criteria) this;
        }

        public Criteria andMemoEqualTo(String value) {
            addCriterion("memo =", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotEqualTo(String value) {
            addCriterion("memo <>", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoGreaterThan(String value) {
            addCriterion("memo >", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoGreaterThanOrEqualTo(String value) {
            addCriterion("memo >=", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLessThan(String value) {
            addCriterion("memo <", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLessThanOrEqualTo(String value) {
            addCriterion("memo <=", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLike(String value) {
            addCriterion("memo like", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotLike(String value) {
            addCriterion("memo not like", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoIn(List<String> values) {
            addCriterion("memo in", values, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotIn(List<String> values) {
            addCriterion("memo not in", values, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoBetween(String value1, String value2) {
            addCriterion("memo between", value1, value2, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotBetween(String value1, String value2) {
            addCriterion("memo not between", value1, value2, "memo");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Byte value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Byte value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Byte value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Byte value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Byte value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Byte> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Byte> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Byte value1, Byte value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Byte value1, Byte value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andDeadLineTimeIsNull() {
            addCriterion("dead_line_time is null");
            return (Criteria) this;
        }

        public Criteria andDeadLineTimeIsNotNull() {
            addCriterion("dead_line_time is not null");
            return (Criteria) this;
        }

        public Criteria andDeadLineTimeEqualTo(Date value) {
            addCriterionForJDBCDate("dead_line_time =", value, "deadLineTime");
            return (Criteria) this;
        }

        public Criteria andDeadLineTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("dead_line_time <>", value, "deadLineTime");
            return (Criteria) this;
        }

        public Criteria andDeadLineTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("dead_line_time >", value, "deadLineTime");
            return (Criteria) this;
        }

        public Criteria andDeadLineTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("dead_line_time >=", value, "deadLineTime");
            return (Criteria) this;
        }

        public Criteria andDeadLineTimeLessThan(Date value) {
            addCriterionForJDBCDate("dead_line_time <", value, "deadLineTime");
            return (Criteria) this;
        }

        public Criteria andDeadLineTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("dead_line_time <=", value, "deadLineTime");
            return (Criteria) this;
        }

        public Criteria andDeadLineTimeIn(List<Date> values) {
            addCriterionForJDBCDate("dead_line_time in", values, "deadLineTime");
            return (Criteria) this;
        }

        public Criteria andDeadLineTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("dead_line_time not in", values, "deadLineTime");
            return (Criteria) this;
        }

        public Criteria andDeadLineTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("dead_line_time between", value1, value2, "deadLineTime");
            return (Criteria) this;
        }

        public Criteria andDeadLineTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("dead_line_time not between", value1, value2, "deadLineTime");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNull() {
            addCriterion("is_delete is null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNotNull() {
            addCriterion("is_delete is not null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteEqualTo(Byte value) {
            addCriterion("is_delete =", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotEqualTo(Byte value) {
            addCriterion("is_delete <>", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThan(Byte value) {
            addCriterion("is_delete >", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThanOrEqualTo(Byte value) {
            addCriterion("is_delete >=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThan(Byte value) {
            addCriterion("is_delete <", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThanOrEqualTo(Byte value) {
            addCriterion("is_delete <=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIn(List<Byte> values) {
            addCriterion("is_delete in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotIn(List<Byte> values) {
            addCriterion("is_delete not in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteBetween(Byte value1, Byte value2) {
            addCriterion("is_delete between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotBetween(Byte value1, Byte value2) {
            addCriterion("is_delete not between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsSupportTicketsIsNull() {
            addCriterion("is_support_tickets is null");
            return (Criteria) this;
        }

        public Criteria andIsSupportTicketsIsNotNull() {
            addCriterion("is_support_tickets is not null");
            return (Criteria) this;
        }

        public Criteria andIsSupportTicketsEqualTo(Byte value) {
            addCriterion("is_support_tickets =", value, "isSupportTickets");
            return (Criteria) this;
        }

        public Criteria andIsSupportTicketsNotEqualTo(Byte value) {
            addCriterion("is_support_tickets <>", value, "isSupportTickets");
            return (Criteria) this;
        }

        public Criteria andIsSupportTicketsGreaterThan(Byte value) {
            addCriterion("is_support_tickets >", value, "isSupportTickets");
            return (Criteria) this;
        }

        public Criteria andIsSupportTicketsGreaterThanOrEqualTo(Byte value) {
            addCriterion("is_support_tickets >=", value, "isSupportTickets");
            return (Criteria) this;
        }

        public Criteria andIsSupportTicketsLessThan(Byte value) {
            addCriterion("is_support_tickets <", value, "isSupportTickets");
            return (Criteria) this;
        }

        public Criteria andIsSupportTicketsLessThanOrEqualTo(Byte value) {
            addCriterion("is_support_tickets <=", value, "isSupportTickets");
            return (Criteria) this;
        }

        public Criteria andIsSupportTicketsIn(List<Byte> values) {
            addCriterion("is_support_tickets in", values, "isSupportTickets");
            return (Criteria) this;
        }

        public Criteria andIsSupportTicketsNotIn(List<Byte> values) {
            addCriterion("is_support_tickets not in", values, "isSupportTickets");
            return (Criteria) this;
        }

        public Criteria andIsSupportTicketsBetween(Byte value1, Byte value2) {
            addCriterion("is_support_tickets between", value1, value2, "isSupportTickets");
            return (Criteria) this;
        }

        public Criteria andIsSupportTicketsNotBetween(Byte value1, Byte value2) {
            addCriterion("is_support_tickets not between", value1, value2, "isSupportTickets");
            return (Criteria) this;
        }

        public Criteria andGiveAmountIsUseIsNull() {
            addCriterion("give_amount_is_use is null");
            return (Criteria) this;
        }

        public Criteria andGiveAmountIsUseIsNotNull() {
            addCriterion("give_amount_is_use is not null");
            return (Criteria) this;
        }

        public Criteria andGiveAmountIsUseEqualTo(Integer value) {
            addCriterion("give_amount_is_use =", value, "giveAmountIsUse");
            return (Criteria) this;
        }

        public Criteria andGiveAmountIsUseNotEqualTo(Integer value) {
            addCriterion("give_amount_is_use <>", value, "giveAmountIsUse");
            return (Criteria) this;
        }

        public Criteria andGiveAmountIsUseGreaterThan(Integer value) {
            addCriterion("give_amount_is_use >", value, "giveAmountIsUse");
            return (Criteria) this;
        }

        public Criteria andGiveAmountIsUseGreaterThanOrEqualTo(Integer value) {
            addCriterion("give_amount_is_use >=", value, "giveAmountIsUse");
            return (Criteria) this;
        }

        public Criteria andGiveAmountIsUseLessThan(Integer value) {
            addCriterion("give_amount_is_use <", value, "giveAmountIsUse");
            return (Criteria) this;
        }

        public Criteria andGiveAmountIsUseLessThanOrEqualTo(Integer value) {
            addCriterion("give_amount_is_use <=", value, "giveAmountIsUse");
            return (Criteria) this;
        }

        public Criteria andGiveAmountIsUseIn(List<Integer> values) {
            addCriterion("give_amount_is_use in", values, "giveAmountIsUse");
            return (Criteria) this;
        }

        public Criteria andGiveAmountIsUseNotIn(List<Integer> values) {
            addCriterion("give_amount_is_use not in", values, "giveAmountIsUse");
            return (Criteria) this;
        }

        public Criteria andGiveAmountIsUseBetween(Integer value1, Integer value2) {
            addCriterion("give_amount_is_use between", value1, value2, "giveAmountIsUse");
            return (Criteria) this;
        }

        public Criteria andGiveAmountIsUseNotBetween(Integer value1, Integer value2) {
            addCriterion("give_amount_is_use not between", value1, value2, "giveAmountIsUse");
            return (Criteria) this;
        }

        public Criteria andBatchNoIsNull() {
            addCriterion("batch_no is null");
            return (Criteria) this;
        }

        public Criteria andBatchNoIsNotNull() {
            addCriterion("batch_no is not null");
            return (Criteria) this;
        }

        public Criteria andBatchNoEqualTo(String value) {
            addCriterion("batch_no =", value, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoNotEqualTo(String value) {
            addCriterion("batch_no <>", value, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoGreaterThan(String value) {
            addCriterion("batch_no >", value, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoGreaterThanOrEqualTo(String value) {
            addCriterion("batch_no >=", value, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoLessThan(String value) {
            addCriterion("batch_no <", value, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoLessThanOrEqualTo(String value) {
            addCriterion("batch_no <=", value, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoLike(String value) {
            addCriterion("batch_no like", value, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoNotLike(String value) {
            addCriterion("batch_no not like", value, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoIn(List<String> values) {
            addCriterion("batch_no in", values, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoNotIn(List<String> values) {
            addCriterion("batch_no not in", values, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoBetween(String value1, String value2) {
            addCriterion("batch_no between", value1, value2, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoNotBetween(String value1, String value2) {
            addCriterion("batch_no not between", value1, value2, "batchNo");
            return (Criteria) this;
        }

        public Criteria andPasswordIsNull() {
            addCriterion("password is null");
            return (Criteria) this;
        }

        public Criteria andPasswordIsNotNull() {
            addCriterion("password is not null");
            return (Criteria) this;
        }

        public Criteria andPasswordEqualTo(String value) {
            addCriterion("password =", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotEqualTo(String value) {
            addCriterion("password <>", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordGreaterThan(String value) {
            addCriterion("password >", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("password >=", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLessThan(String value) {
            addCriterion("password <", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLessThanOrEqualTo(String value) {
            addCriterion("password <=", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLike(String value) {
            addCriterion("password like", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotLike(String value) {
            addCriterion("password not like", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordIn(List<String> values) {
            addCriterion("password in", values, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotIn(List<String> values) {
            addCriterion("password not in", values, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordBetween(String value1, String value2) {
            addCriterion("password between", value1, value2, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotBetween(String value1, String value2) {
            addCriterion("password not between", value1, value2, "password");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andRefereesIdIsNull() {
            addCriterion("referees_id is null");
            return (Criteria) this;
        }

        public Criteria andRefereesIdIsNotNull() {
            addCriterion("referees_id is not null");
            return (Criteria) this;
        }

        public Criteria andRefereesIdEqualTo(Integer value) {
            addCriterion("referees_id =", value, "refereesId");
            return (Criteria) this;
        }

        public Criteria andRefereesIdNotEqualTo(Integer value) {
            addCriterion("referees_id <>", value, "refereesId");
            return (Criteria) this;
        }

        public Criteria andRefereesIdGreaterThan(Integer value) {
            addCriterion("referees_id >", value, "refereesId");
            return (Criteria) this;
        }

        public Criteria andRefereesIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("referees_id >=", value, "refereesId");
            return (Criteria) this;
        }

        public Criteria andRefereesIdLessThan(Integer value) {
            addCriterion("referees_id <", value, "refereesId");
            return (Criteria) this;
        }

        public Criteria andRefereesIdLessThanOrEqualTo(Integer value) {
            addCriterion("referees_id <=", value, "refereesId");
            return (Criteria) this;
        }

        public Criteria andRefereesIdIn(List<Integer> values) {
            addCriterion("referees_id in", values, "refereesId");
            return (Criteria) this;
        }

        public Criteria andRefereesIdNotIn(List<Integer> values) {
            addCriterion("referees_id not in", values, "refereesId");
            return (Criteria) this;
        }

        public Criteria andRefereesIdBetween(Integer value1, Integer value2) {
            addCriterion("referees_id between", value1, value2, "refereesId");
            return (Criteria) this;
        }

        public Criteria andRefereesIdNotBetween(Integer value1, Integer value2) {
            addCriterion("referees_id not between", value1, value2, "refereesId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}